package lockDemo.synchronizeDemo;

import java.util.concurrent.TimeUnit;

/**
 * 
*/
public class DeadLock2 {
	
	public static void main(String[] args) {
		DeadLock2 deadLock2 = new DeadLock2();
		
//		 	Thread a = new Thread(new Lock21());
//	        Thread b = new Thread(new Lock22());
//	        a.start();
//	        b.start();
//		for (int i = 0; i < 100; i++) {
//			
//			System.out.println("start"+i);
//			new DeadLock2().sVV();
//		}
//		
	for (int i = 0; i < 100; i++) {
			new Thread(new Runnable() {
				
				@Override
				public void run() {
					try {
						TimeUnit.SECONDS.sleep(3);
						System.out.println("start");
						ss("", deadLock2);
					} catch (InterruptedException e) {
						// TODO Auto-generated catch block
						e.printStackTrace();
					}
					
					
				}
			}).start();
			
		}
		
	}
	
	public static int a=0;
	public static int b=0;
	private static synchronized void ss(String str,DeadLock2 deadLock2) {
		System.out.println("ssss"+str+(a++));
		deadLock2.sVV("对象",deadLock2);
		
	}
	
	private synchronized void sVV(String str,DeadLock2 deadLock2) {
		System.out.println("sVV"+str+(a--));
		ss(str,deadLock2);
	}
	
}
//	class Lock21 implements Runnable{
//		@Override
//		public void run() {
//			try {
//				System.out.println("lock1 running");
//				while (true) {
//					synchronized(DeadLock2.str1){
//						System.out.println("Lock1 lock str1");	
//						TimeUnit.SECONDS.sleep(3);
//						synchronized (DeadLock2.str2) {
//						System.out.println("Lock1 lock str2");	
//						}
//					}
//					
//				}
//			} catch (Exception e) {
//				
//			}
//			
//		}
//	}
//	class Lock22 implements Runnable{
//		@Override
//		public void run() {
//			try {
//				System.out.println("lock2 running");
//				while (true) {
//					synchronized(DeadLock2.str2){
//						System.out.println("Lock2 lock str2");	
//						TimeUnit.SECONDS.sleep(3);
//						synchronized (DeadLock2.str1) {
//							System.out.println("Lock1 lock str1");	
//						}
//					}
//					
//				}
//			} catch (Exception e) {
//				
//			}
//			
//		}
//	}

